﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                    xmlns:Fluent="clr-namespace:Fluent"
                    mc:Ignorable="d">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/Fluent;component\Themes\Office2010\Controls\RibbonScrollViewer.xaml" />
    </ResourceDictionary.MergedDictionaries>
    <Fluent:ObjectToImageConverter x:Key="StringToImageConvert" />
    <ControlTemplate x:Key="ResizeBothThumbControlTemplate"
                     TargetType="{x:Type Thumb}">
        <Grid Background="#00000000">
            <Rectangle Fill="White"
                       StrokeThickness="0"
                       Width="2"
                       Height="2"
                       VerticalAlignment="Bottom"
                       HorizontalAlignment="Right"
                       Margin="0,0,2,1" />
            <Rectangle Fill="White"
                       StrokeThickness="0"
                       HorizontalAlignment="Right"
                       Margin="0,0,2,5"
                       VerticalAlignment="Bottom"
                       Width="2"
                       Height="2" />
            <Rectangle Fill="White"
                       StrokeThickness="0"
                       HorizontalAlignment="Right"
                       Margin="0,0,6,1"
                       VerticalAlignment="Bottom"
                       Width="2"
                       Height="2" />
            <Rectangle Fill="#FFB5BEC7"
                       StrokeThickness="0"
                       HorizontalAlignment="Right"
                       Margin="0,0,3,2"
                       VerticalAlignment="Bottom"
                       Width="2"
                       Height="2" />
            <Rectangle Fill="#FFB5BEC7"
                       StrokeThickness="0"
                       HorizontalAlignment="Right"
                       Margin="0,0,3,6"
                       VerticalAlignment="Bottom"
                       Width="2"
                       Height="2" />
            <Rectangle Fill="#FFB5BEC7"
                       StrokeThickness="0"
                       HorizontalAlignment="Right"
                       Margin="0,0,7,2"
                       VerticalAlignment="Bottom"
                       Width="2"
                       Height="2" />
        </Grid>
    </ControlTemplate>
    <ControlTemplate x:Key="ResizeVerticalThumbControlTemplate"
                     TargetType="{x:Type Thumb}">
        <Grid Background="#00000000">
            <StackPanel Margin="0,1,0,0"
                        Orientation="Horizontal"
                        d:LayoutOverrides="Height"
                        HorizontalAlignment="Center"
                        VerticalAlignment="Center">
                <Grid HorizontalAlignment="Left"
                      Margin="1,0,0,0"
                      Width="Auto"
                      Height="Auto">
                    <Rectangle Fill="White"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                    <Rectangle Fill="#FFB5BEC7"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0,0,1,1"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                </Grid>
                <Grid HorizontalAlignment="Left"
                      Margin="1,0,0,0"
                      Width="Auto"
                      Height="Auto">
                    <Rectangle Fill="White"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                    <Rectangle Fill="#FFB5BEC7"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0,0,1,1"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                </Grid>
                <Grid HorizontalAlignment="Left"
                      Margin="1,0,0,0"
                      Width="Auto"
                      Height="Auto">
                    <Rectangle Fill="White"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                    <Rectangle Fill="#FFB5BEC7"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0,0,1,1"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                </Grid>
                <Grid HorizontalAlignment="Left"
                      Margin="1,0,0,0"
                      Width="Auto"
                      Height="Auto">
                    <Rectangle Fill="White"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                    <Rectangle Fill="#FFB5BEC7"
                               StrokeThickness="0"
                               HorizontalAlignment="Center"
                               Margin="0,0,1,1"
                               VerticalAlignment="Center"
                               Width="2"
                               Height="2" />
                </Grid>
            </StackPanel>
        </Grid>
    </ControlTemplate>

    <!--Menu Item Template-->
    <ControlTemplate x:Key="MenuItemTemplate"
                     TargetType="{x:Type MenuItem}">
        <ControlTemplate.Resources>
            <ResourceDictionary>
                <Style x:Key="{x:Type ScrollViewer}"
                       TargetType="{x:Type ScrollViewer}"
                       BasedOn="{StaticResource MenuScrollViewer}" />
            </ResourceDictionary>
        </ControlTemplate.Resources>
        <Grid Width="Auto"
              Height="22"
              Background="#00000000">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="25" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Border x:Name="border"
                    HorizontalAlignment="Stretch"
                    Margin="0"
                    Width="Auto"
                    Visibility="Collapsed"
                    Background="{DynamicResource ButtonHoverOuterBackgroundBrush}"
                    BorderBrush="{DynamicResource ButtonHoverOuterBorderBrush}"
                    BorderThickness="1"
                    CornerRadius="2"
                    Grid.Column="0"
                    Grid.ColumnSpan="3">
                <Border Background="{DynamicResource ButtonHoverInnerBackgroundBrush}"
                        BorderBrush="{DynamicResource ButtonHoverInnerBorderBrush}"
                        BorderThickness="1"
                        CornerRadius="1" />
            </Border>
            <TextBlock x:Name="textBlock_Copy"
                       Text="{TemplateBinding Header}"
                       Width="Auto"
                       Height="Auto"
                       Margin="9,3,13,3"
                       VerticalAlignment="Center"
                       Grid.Column="1"
                       TextTrimming="None"
                       d:LayoutOverrides="Width"
                       Visibility="Hidden"
                       HorizontalAlignment="Left" />
            <ContentPresenter x:Name="textBlock"
                              ContentSource="Header"
                              Width="Auto"
                              Height="Auto"
                              Margin="9,3,3,3"
                              VerticalAlignment="Center"
                              Grid.Column="1"
                              d:LayoutOverrides="Width"
                              RecognizesAccessKey="True" />
            <Rectangle x:Name="rectangle"
                       Fill="{DynamicResource MenuItemCheckBoxBackgroundBrush}"
                       Stroke="{DynamicResource MenuItemCheckBoxBorderBrush}"
                       Grid.ColumnSpan="1"
                       HorizontalAlignment="Center"
                       VerticalAlignment="Center"
                       Width="20"
                       Height="20"
                       RadiusX="1"
                       RadiusY="1"
                       Visibility="Collapsed" />
            <Image x:Name="image"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Source="/Fluent;Component/Themes/Office2010/Images/Checked.png"
                   Stretch="None"
                   Visibility="Collapsed"
                   SnapsToDevicePixels="True" />
            <ContentPresenter x:Name="iconImage"
                              HorizontalAlignment="Center"
                              Height="16"
                              VerticalAlignment="Center"
                              Content="{Binding Icon, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource StringToImageConvert}}"
                              Width="16"
                              Margin="3,2,2,2"
                              SnapsToDevicePixels="True" />
            <TextBlock x:Name="gestureTextBlock"
                       Text="{TemplateBinding InputGestureText}"
                       Width="Auto"
                       Height="Auto"
                       Margin="3,3,15,3"
                       VerticalAlignment="Center"
                       Grid.Column="2" />
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="InputGestureText"
                     Value="{x:Null}">
                <Setter Property="Visibility"
                        TargetName="gestureTextBlock"
                        Value="Collapsed" />
            </Trigger>
            <Trigger Property="InputGestureText"
                     Value="">
                <Setter Property="Visibility"
                        TargetName="gestureTextBlock"
                        Value="Collapsed" />
            </Trigger>
            <Trigger Property="IsChecked"
                     Value="True">
                <Setter Property="Visibility"
                        TargetName="rectangle"
                        Value="Visible" />
            </Trigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Icon"
                               Value="{x:Null}" />
                    <Condition Property="IsChecked"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Visibility"
                        TargetName="image"
                        Value="Visible" />
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsHighlighted"
                               Value="True" />
                    <Condition Property="IsEnabled"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Visibility"
                        TargetName="border"
                        Value="Visible" />
            </MultiTrigger>
            <Trigger Property="IsEnabled"
                     Value="False">
                <Setter Property="Opacity"
                        TargetName="iconImage"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="image"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="textBlock"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="gestureTextBlock"
                        Value="0.5" />
                <Setter Property="Effect"
                        TargetName="iconImage">
                    <Setter.Value>
                        <Fluent:GrayscaleEffect />
                    </Setter.Value>
                </Setter>
                <Setter Property="Effect"
                        TargetName="image">
                    <Setter.Value>
                        <Fluent:GrayscaleEffect />
                    </Setter.Value>
                </Setter>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>
    <!--Header Menu Item Template-->
    <ControlTemplate x:Key="HeaderMenuItemTemplate"
                     TargetType="{x:Type MenuItem}">
        <ControlTemplate.Resources>
            <ResourceDictionary>
                <Style x:Key="{x:Type ScrollViewer}"
                       TargetType="{x:Type ScrollViewer}"
                       BasedOn="{StaticResource MenuScrollViewer}" />
            </ResourceDictionary>
        </ControlTemplate.Resources>
        <Grid Width="Auto"
              Height="22"
              Background="#00000000">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="25" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Border x:Name="border"
                    HorizontalAlignment="Stretch"
                    Margin="0"
                    Width="Auto"
                    Visibility="Collapsed"
                    Background="{DynamicResource ButtonHoverOuterBackgroundBrush}"
                    BorderBrush="{DynamicResource ButtonHoverOuterBorderBrush}"
                    BorderThickness="1"
                    CornerRadius="2"
                    Grid.Column="0"
                    Grid.ColumnSpan="3">
                <Border Background="{DynamicResource ButtonHoverInnerBackgroundBrush}"
                        BorderBrush="{DynamicResource ButtonHoverInnerBorderBrush}"
                        BorderThickness="1"
                        CornerRadius="1" />
            </Border>
            <TextBlock x:Name="textBlock_Copy"
                       Text="{TemplateBinding Header}"
                       Width="Auto"
                       Height="Auto"
                       Margin="9,3,13,3"
                       VerticalAlignment="Center"
                       Grid.Column="1"
                       TextTrimming="None"
                       d:LayoutOverrides="Width"
                       Visibility="Hidden"
                       HorizontalAlignment="Left" />
            <ContentPresenter x:Name="textBlock"
                              ContentSource="Header"
                              Width="Auto"
                              Height="Auto"
                              Margin="9,3,3,3"
                              VerticalAlignment="Center"
                              Grid.Column="1"
                              d:LayoutOverrides="Width"
                              RecognizesAccessKey="True" />
            <Rectangle x:Name="rectangle"
                       Fill="{DynamicResource MenuItemCheckBoxBackgroundBrush}"
                       Stroke="{DynamicResource MenuItemCheckBoxBorderBrush}"
                       Grid.ColumnSpan="1"
                       HorizontalAlignment="Center"
                       VerticalAlignment="Center"
                       Width="20"
                       Height="20"
                       RadiusX="1"
                       RadiusY="1"
                       Visibility="Collapsed" />
            <Image x:Name="image"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Source="/Fluent;Component/Themes/Office2010/Images/Checked.png"
                   Stretch="None"
                   Visibility="Collapsed"
                   SnapsToDevicePixels="True" />
            <ContentPresenter x:Name="iconImage"
                              HorizontalAlignment="Center"
                              Height="16"
                              VerticalAlignment="Center"
                              Content="{Binding Icon, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource StringToImageConvert}}"
                              Width="16"
                              Margin="3,2,2,2"
                              SnapsToDevicePixels="True"
                              RecognizesAccessKey="True" />
            <Path x:Name="path"
                  Stretch="Fill"
                  Stroke="{x:Null}"
                  HorizontalAlignment="Right"
                  Margin="1,0,9,0"
                  Width="4"
                  Data="M0,0L1,1 0,2z"
                  Height="7"
                  Grid.Column="3">
                <Path.Fill>
                    <LinearGradientBrush EndPoint="0.945,0.872"
                                         StartPoint="0.055,0.128">
                        <GradientStop Color="#FF7C7C7C"
                                      Offset="1" />
                        <GradientStop Color="#FF9E9E9E" />
                    </LinearGradientBrush>
                </Path.Fill>
            </Path>
            <Popup x:Name="PART_Popup"
                   Placement="Right"
                   IsOpen="{TemplateBinding IsSubmenuOpen}"
                   AllowsTransparency="True"
                   Focusable="False"
                   PopupAnimation="Fade"
                   Margin="0,0,-4,0"
                   VerticalAlignment="Top"
                   Grid.ColumnSpan="2">
                <Grid Name="DropDown"
                      SnapsToDevicePixels="True"
                      Margin="0"
                      VerticalAlignment="Stretch">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*" />
                        <RowDefinition Height="10" />
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="10" />
                    </Grid.ColumnDefinitions>
                    <Rectangle HorizontalAlignment="Left"
                               VerticalAlignment="Top"
                               Width="4"
                               Height="4"
                               Grid.Row="1"
                               Grid.Column="1"
                               StrokeThickness="0"
                               Margin="-1,-1,0,0">
                        <Rectangle.Fill>
                            <RadialGradientBrush RadiusX="0.984"
                                                 Center="0.017,0.002"
                                                 GradientOrigin="0.017,0.002"
                                                 RadiusY="1">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </RadialGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Left"
                               Margin="-1,3,0,0"
                               VerticalAlignment="Top"
                               Width="4"
                               Height="4"
                               Grid.Column="1"
                               Grid.Row="0">
                        <Rectangle.Fill>
                            <RadialGradientBrush Center="0.032,1.01"
                                                 GradientOrigin="0.032,1.01"
                                                 RadiusX="0.984"
                                                 RadiusY="1">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </RadialGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Left"
                               Margin="3,-1,0,0"
                               VerticalAlignment="Top"
                               Width="4"
                               Height="4"
                               Grid.Column="0"
                               Grid.Row="1">
                        <Rectangle.Fill>
                            <RadialGradientBrush Center="0.996,0.027"
                                                 GradientOrigin="0.996,0.027"
                                                 RadiusX="0.984"
                                                 RadiusY="1">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </RadialGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Stretch"
                               Margin="7,-1,1,0"
                               VerticalAlignment="Top"
                               Width="Auto"
                               Height="4"
                               Grid.Column="0"
                               Grid.Row="1">
                        <Rectangle.Fill>
                            <LinearGradientBrush EndPoint="0.5,1"
                                                 StartPoint="0.5,0"
                                                 MappingMode="RelativeToBoundingBox">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </LinearGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Left"
                               Margin="-1,7,0,1"
                               VerticalAlignment="Stretch"
                               Width="4"
                               Height="Auto"
                               Grid.Column="1"
                               Grid.Row="0">
                        <Rectangle.Fill>
                            <LinearGradientBrush EndPoint="1,0.5"
                                                 StartPoint="0,0.5"
                                                 MappingMode="RelativeToBoundingBox">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </LinearGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Border x:Name="DropDownBorder"
                            SnapsToDevicePixels="True"
                            Background="{DynamicResource ContextMenuBarBackgroundBrush}"
                            BorderBrush="{DynamicResource ContextMenuBarBorderBrush}"
                            BorderThickness="1"
                            CornerRadius="1"
                            Grid.ColumnSpan="1"
                            d:LayoutOverrides="Width, Height"
                            HorizontalAlignment="Stretch"
                            VerticalAlignment="Stretch">
                        <Grid Width="Auto"
                              Height="Auto"
                              HorizontalAlignment="Stretch"
                              VerticalAlignment="Stretch">
                            <Border VerticalAlignment="Stretch"
                                    Width="Auto"
                                    Height="Auto"
                                    BorderBrush="{DynamicResource ContextMenuBarBackgroundBrush}"
                                    BorderThickness="1"
                                    CornerRadius="1" />
                            <Grid Margin="1"
                                  HorizontalAlignment="Stretch"
                                  VerticalAlignment="Stretch">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*" />
                                    <RowDefinition Height="Auto" />
                                </Grid.RowDefinitions>
                                <Path Fill="{x:Null}"
                                      Stretch="Fill"
                                      Stroke="#FFE2E4E7"
                                      HorizontalAlignment="Left"
                                      Margin="24,0,0,0"
                                      Width="1"
                                      Height="Auto"
                                      Data="M0,0L0,1"
                                      Grid.RowSpan="2"
                                      Visibility="Visible" />
                                <ScrollViewer x:Name="PART_ScrollViewer"
                                              Style="{DynamicResource MenuScrollViewer}"
                                              Margin="1"
                                              SnapsToDevicePixels="True">
                                    <Fluent:MenuPanel x:Name="PART_MenuPanel"
                                                      IsItemsHost="True"
                                                      KeyboardNavigation.DirectionalNavigation="Contained" />
                                </ScrollViewer>
                                <Border x:Name="resizeBorder"
                                        HorizontalAlignment="Stretch"
                                        VerticalAlignment="Top"
                                        Height="11"
                                        BorderBrush="{DynamicResource ContextMenuBarResizeBorderBrush}"
                                        BorderThickness="0,1,0,0"
                                        Grid.Row="1"
                                        CornerRadius="0,0,1,1"
                                        Background="{DynamicResource ContextMenuBarResizeBackgoundBrush}">
                                    <Grid>
                                        <Thumb x:Name="PART_ResizeVerticalThumb"
                                               HorizontalAlignment="Stretch"
                                               Margin="0,0,0,-90"
                                               Width="Auto"
                                               Height="10"
                                               VerticalAlignment="Top"
                                               Cursor="SizeNS"
                                               Template="{DynamicResource ResizeVerticalThumbControlTemplate}" />
                                        <Thumb x:Name="PART_ResizeBothThumb"
                                               HorizontalAlignment="Right"
                                               Margin="0,0,0,-90"
                                               Width="10"
                                               Height="10"
                                               VerticalAlignment="Top"
                                               Cursor="SizeNWSE"
                                               Template="{DynamicResource ResizeBothThumbControlTemplate}" />
                                    </Grid>
                                </Border>
                            </Grid>
                        </Grid>
                    </Border>
                </Grid>
            </Popup>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="Fluent:MenuItem.ResizeMode"
                     Value="None">
                <Setter Property="Visibility"
                        TargetName="resizeBorder"
                        Value="Collapsed" />
            </Trigger>
            <Trigger Property="Fluent:MenuItem.ResizeMode"
                     Value="Both">
                <Setter Property="Visibility"
                        TargetName="PART_ResizeVerticalThumb"
                        Value="Collapsed" />
                <Setter Property="Visibility"
                        TargetName="PART_ResizeBothThumb"
                        Value="Visible" />
                <Setter Property="Visibility"
                        TargetName="resizeBorder"
                        Value="Visible" />
            </Trigger>
            <Trigger Property="Fluent:MenuItem.ResizeMode"
                     Value="Vertical">
                <Setter Property="Visibility"
                        TargetName="PART_ResizeBothThumb"
                        Value="Collapsed" />
                <Setter Property="Visibility"
                        TargetName="PART_ResizeVerticalThumb"
                        Value="Visible" />
                <Setter Property="Visibility"
                        TargetName="resizeBorder"
                        Value="Visible" />
            </Trigger>
            <Trigger Property="IsChecked"
                     Value="True">
                <Setter Property="Visibility"
                        TargetName="rectangle"
                        Value="Visible" />
            </Trigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Icon"
                               Value="{x:Null}" />
                    <Condition Property="IsChecked"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Visibility"
                        TargetName="image"
                        Value="Visible" />
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsHighlighted"
                               Value="True" />
                    <Condition Property="IsEnabled"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Visibility"
                        TargetName="border"
                        Value="Visible" />
            </MultiTrigger>
            <Trigger Property="IsEnabled"
                     Value="False">
                <Setter Property="Opacity"
                        TargetName="iconImage"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="image"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="textBlock"
                        Value="0.5" />
                <Setter Property="Effect"
                        TargetName="iconImage">
                    <Setter.Value>
                        <Fluent:GrayscaleEffect />
                    </Setter.Value>
                </Setter>
                <Setter Property="Effect"
                        TargetName="image">
                    <Setter.Value>
                        <Fluent:GrayscaleEffect />
                    </Setter.Value>
                </Setter>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>
    <!--Splited Menu Item Template-->
    <ControlTemplate x:Key="SplitedMenuItemTemplate"
                     TargetType="{x:Type MenuItem}">
        <ControlTemplate.Resources>
            <ResourceDictionary>
                <Style x:Key="{x:Type ScrollViewer}"
                       TargetType="{x:Type ScrollViewer}"
                       BasedOn="{StaticResource MenuScrollViewer}" />
            </ResourceDictionary>
        </ControlTemplate.Resources>
        <Grid Width="Auto"
              Height="22"
              Background="#00000000">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="25" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>

            <Rectangle Grid.Column="2"
                       HorizontalAlignment="Right"
                       Margin="0,4,23,4"
                       Stroke="{DynamicResource WindowContentBorderBrush}"
                       Width="1" />

            <Grid  HorizontalAlignment="Stretch"
                   Margin="0"
                   Width="Auto"
                   Grid.Column="0"
                   Grid.ColumnSpan="3">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.905*" />
                    <ColumnDefinition x:Name="columnDefinition"
                                      Width="23" />
                </Grid.ColumnDefinitions>
                <Border x:Name="PART_ButtonBorder"
                        Visibility="Collapsed"
                        Background="{DynamicResource ButtonHoverOuterBackgroundBrush}"
                        BorderBrush="{DynamicResource ButtonHoverOuterBorderBrush}"
                        BorderThickness="1"
                        CornerRadius="2"
                        Margin="0,0,-1,0">
                    <Border x:Name="border1"
                            Background="{DynamicResource ButtonHoverInnerBackgroundBrush}"
                            BorderBrush="{DynamicResource ButtonHoverInnerBorderBrush}"
                            BorderThickness="1"
                            CornerRadius="1"
                            Grid.ColumnSpan="2" />
                </Border>
                <Border x:Name="border_Copy"
                        HorizontalAlignment="Stretch"
                        Margin="0"
                        Width="Auto"
                        Visibility="Collapsed"
                        BorderBrush="{DynamicResource ButtonHoverOuterBorderBrush}"
                        BorderThickness="1"
                        CornerRadius="2"
                        Grid.Column="1"
                        Background="{DynamicResource TransparentBrush}">
                    <Border x:Name="border1_Copy"
                            Background="{DynamicResource ButtonHoverInnerBackgroundBrush}"
                            BorderBrush="{DynamicResource ButtonHoverInnerBorderBrush}"
                            BorderThickness="1"
                            CornerRadius="1"
                            Grid.ColumnSpan="1"
                            d:CopyToken="09a4b798-0b8a-441e-b6c8-d7787f8d7e43"
                            Visibility="Collapsed" />
                </Border>
            </Grid>

            <TextBlock x:Name="textBlock_Copy"
                       Text="{TemplateBinding Header}"
                       Width="Auto"
                       Height="Auto"
                       Margin="9,3,13,3"
                       VerticalAlignment="Center"
                       Grid.Column="1"
                       TextTrimming="None"
                       d:LayoutOverrides="Width"
                       Visibility="Hidden"
                       HorizontalAlignment="Left" />
            <ContentPresenter x:Name="textBlock"
                              ContentSource="Header"
                              Width="Auto"
                              Height="Auto"
                              Margin="9,3,3,3"
                              VerticalAlignment="Center"
                              Grid.Column="1"
                              d:LayoutOverrides="Width"
                              RecognizesAccessKey="True" />
            <Rectangle x:Name="rectangle"
                       Fill="{DynamicResource MenuItemCheckBoxBackgroundBrush}"
                       Stroke="{DynamicResource MenuItemCheckBoxBorderBrush}"
                       Grid.ColumnSpan="1"
                       HorizontalAlignment="Center"
                       VerticalAlignment="Center"
                       Width="20"
                       Height="20"
                       RadiusX="1"
                       RadiusY="1"
                       Visibility="Collapsed" />
            <Image x:Name="image"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Source="/Fluent;Component/Themes/Office2010/Images/Checked.png"
                   Stretch="None"
                   Visibility="Collapsed"
                   SnapsToDevicePixels="True" />
            <ContentPresenter x:Name="iconImage"
                              HorizontalAlignment="Center"
                              Height="16"
                              VerticalAlignment="Center"
                              Content="{Binding Icon, Converter={StaticResource StringToImageConvert}, RelativeSource={RelativeSource TemplatedParent}}"
                              Width="16"
                              Margin="3,2,2,2"
                              SnapsToDevicePixels="True"
                              RecognizesAccessKey="True" />
            <Path x:Name="path"
                  Stretch="Fill"
                  Stroke="{x:Null}"
                  HorizontalAlignment="Right"
                  Margin="1,0,9,0"
                  Width="4"
                  Data="M0,0L1,1 0,2z"
                  Height="7"
                  Grid.Column="3">
                <Path.Fill>
                    <LinearGradientBrush EndPoint="0.945,0.872"
                                         StartPoint="0.055,0.128">
                        <GradientStop Color="#FF7C7C7C"
                                      Offset="1" />
                        <GradientStop Color="#FF9E9E9E" />
                    </LinearGradientBrush>
                </Path.Fill>
            </Path>
            <Popup x:Name="PART_Popup"
                   Placement="Right"
                   IsOpen="{TemplateBinding IsSubmenuOpen}"
                   AllowsTransparency="True"
                   Focusable="False"
                   PopupAnimation="Fade"
                   Margin="0,0,-4,0"
                   VerticalAlignment="Top"
                   Grid.ColumnSpan="2">
                <Grid x:Name="DropDown"
                      SnapsToDevicePixels="True"
                      Margin="0"
                      VerticalAlignment="Stretch">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*" />
                        <RowDefinition Height="10" />
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="10" />
                    </Grid.ColumnDefinitions>
                    <Rectangle HorizontalAlignment="Left"
                               VerticalAlignment="Top"
                               Width="4"
                               Height="4"
                               Grid.Row="1"
                               Grid.Column="1"
                               StrokeThickness="0"
                               Margin="-1,-1,0,0">
                        <Rectangle.Fill>
                            <RadialGradientBrush RadiusX="0.984"
                                                 Center="0.017,0.002"
                                                 GradientOrigin="0.017,0.002"
                                                 RadiusY="1">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </RadialGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Left"
                               Margin="-1,3,0,0"
                               VerticalAlignment="Top"
                               Width="4"
                               Height="4"
                               Grid.Column="1"
                               Grid.Row="0">
                        <Rectangle.Fill>
                            <RadialGradientBrush Center="0.032,1.01"
                                                 GradientOrigin="0.032,1.01"
                                                 RadiusX="0.984"
                                                 RadiusY="1">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </RadialGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Left"
                               Margin="3,-1,0,0"
                               VerticalAlignment="Top"
                               Width="4"
                               Height="4"
                               Grid.Column="0"
                               Grid.Row="1">
                        <Rectangle.Fill>
                            <RadialGradientBrush Center="0.996,0.027"
                                                 GradientOrigin="0.996,0.027"
                                                 RadiusX="0.984"
                                                 RadiusY="1">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </RadialGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Stretch"
                               Margin="7,-1,1,0"
                               VerticalAlignment="Top"
                               Width="Auto"
                               Height="4"
                               Grid.Column="0"
                               Grid.Row="1">
                        <Rectangle.Fill>
                            <LinearGradientBrush EndPoint="0.5,1"
                                                 StartPoint="0.5,0"
                                                 MappingMode="RelativeToBoundingBox">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </LinearGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Rectangle StrokeThickness="0"
                               HorizontalAlignment="Left"
                               Margin="-1,7,0,1"
                               VerticalAlignment="Stretch"
                               Width="4"
                               Height="Auto"
                               Grid.Column="1"
                               Grid.Row="0">
                        <Rectangle.Fill>
                            <LinearGradientBrush EndPoint="1,0.5"
                                                 StartPoint="0,0.5"
                                                 MappingMode="RelativeToBoundingBox">
                                <GradientStop Color="#3F000000"
                                              Offset="0" />
                                <GradientStop Color="#00000000"
                                              Offset="1" />
                            </LinearGradientBrush>
                        </Rectangle.Fill>
                    </Rectangle>
                    <Border x:Name="DropDownBorder"
                            SnapsToDevicePixels="True"
                            Background="{DynamicResource ContextMenuBarBackgroundBrush}"
                            BorderBrush="{DynamicResource ContextMenuBarBorderBrush}"
                            BorderThickness="1"
                            CornerRadius="1"
                            Grid.ColumnSpan="1"
                            d:LayoutOverrides="Width, Height"
                            HorizontalAlignment="Stretch"
                            VerticalAlignment="Stretch">
                        <Grid Width="Auto"
                              Height="Auto"
                              HorizontalAlignment="Stretch"
                              VerticalAlignment="Stretch">
                            <Border VerticalAlignment="Stretch"
                                    Width="Auto"
                                    Height="Auto"
                                    BorderBrush="{DynamicResource ContextMenuBarBackgroundBrush}"
                                    BorderThickness="1"
                                    CornerRadius="1" />
                            <Grid Margin="1"
                                  HorizontalAlignment="Stretch"
                                  VerticalAlignment="Stretch">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*" />
                                    <RowDefinition Height="Auto" />
                                </Grid.RowDefinitions>
                                <Path Fill="{x:Null}"
                                      Stretch="Fill"
                                      Stroke="#FFE2E4E7"
                                      HorizontalAlignment="Left"
                                      Margin="24,0,0,0"
                                      Width="1"
                                      Height="Auto"
                                      Data="M0,0L0,1"
                                      Grid.RowSpan="2"
                                      Visibility="Visible" />
                                <ScrollViewer Margin="1"
                                              x:Name="PART_ScrollViewer"
                                              Style="{DynamicResource MenuScrollViewer}"
                                              SnapsToDevicePixels="True">
                                    <Fluent:MenuPanel x:Name="PART_MenuPanel"
                                                      IsItemsHost="True"
                                                      KeyboardNavigation.DirectionalNavigation="Contained" />
                                </ScrollViewer>
                                <Border x:Name="resizeBorder"
                                        HorizontalAlignment="Stretch"
                                        VerticalAlignment="Top"
                                        Height="11"
                                        BorderBrush="{DynamicResource ContextMenuBarResizeBorderBrush}"
                                        BorderThickness="0,1,0,0"
                                        Grid.Row="1"
                                        CornerRadius="0,0,1,1"
                                        Background="{DynamicResource ContextMenuBarResizeBackgoundBrush}">
                                    <Grid>
                                        <Thumb x:Name="PART_ResizeVerticalThumb"
                                               HorizontalAlignment="Stretch"
                                               Margin="0,0,0,-90"
                                               Width="Auto"
                                               Height="10"
                                               VerticalAlignment="Top"
                                               Cursor="SizeNS"
                                               Template="{DynamicResource ResizeVerticalThumbControlTemplate}" />
                                        <Thumb x:Name="PART_ResizeBothThumb"
                                               HorizontalAlignment="Right"
                                               Margin="0,0,0,-90"
                                               Width="10"
                                               Height="10"
                                               VerticalAlignment="Top"
                                               Cursor="SizeNWSE"
                                               Template="{DynamicResource ResizeBothThumbControlTemplate}" />
                                    </Grid>
                                </Border>
                            </Grid>
                        </Grid>
                    </Border>
                </Grid>
            </Popup>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver"
                     Value="True"
                     SourceName="border_Copy">
                <Setter Property="Visibility"
                        TargetName="border1_Copy"
                        Value="Visible" />
            </Trigger>
            <Trigger Property="Fluent:MenuItem.ResizeMode"
                     Value="None">
                <Setter Property="Visibility"
                        TargetName="resizeBorder"
                        Value="Collapsed" />
            </Trigger>
            <Trigger Property="Fluent:MenuItem.ResizeMode"
                     Value="Both">
                <Setter Property="Visibility"
                        TargetName="PART_ResizeVerticalThumb"
                        Value="Collapsed" />
                <Setter Property="Visibility"
                        TargetName="PART_ResizeBothThumb"
                        Value="Visible" />
                <Setter Property="Visibility"
                        TargetName="resizeBorder"
                        Value="Visible" />
            </Trigger>
            <Trigger Property="Fluent:MenuItem.ResizeMode"
                     Value="Vertical">
                <Setter Property="Visibility"
                        TargetName="PART_ResizeBothThumb"
                        Value="Collapsed" />
                <Setter Property="Visibility"
                        TargetName="PART_ResizeVerticalThumb"
                        Value="Visible" />
                <Setter Property="Visibility"
                        TargetName="resizeBorder"
                        Value="Visible" />
            </Trigger>
            <Trigger Property="IsChecked"
                     Value="True">
                <Setter Property="Visibility"
                        TargetName="rectangle"
                        Value="Visible" />
            </Trigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Icon"
                               Value="{x:Null}" />
                    <Condition Property="IsChecked"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Visibility"
                        TargetName="image"
                        Value="Visible" />
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsHighlighted"
                               Value="True" />
                    <Condition Property="IsEnabled"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Visibility"
                        TargetName="PART_ButtonBorder"
                        Value="Visible" />
                <Setter Property="Visibility"
                        TargetName="border_Copy"
                        Value="Visible" />
            </MultiTrigger>
            <Trigger Property="IsSubmenuOpen"
                     Value="True">
                <Setter Property="Visibility"
                        TargetName="border1_Copy"
                        Value="Visible" />
            </Trigger>
            <Trigger Property="IsEnabled"
                     Value="False">
                <Setter Property="Opacity"
                        TargetName="iconImage"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="image"
                        Value="0.5" />
                <Setter Property="Opacity"
                        TargetName="textBlock"
                        Value="0.5" />
                <Setter Property="Effect"
                        TargetName="iconImage">
                    <Setter.Value>
                        <Fluent:GrayscaleEffect />
                    </Setter.Value>
                </Setter>
                <Setter Property="Effect"
                        TargetName="image">
                    <Setter.Value>
                        <Fluent:GrayscaleEffect />
                    </Setter.Value>
                </Setter>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <!--Menu Item Style-->
    <Style x:Key="MenuItemStyle"
           TargetType="{x:Type MenuItem}">
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
                Value="Auto" />
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
                Value="Hidden" />
        <Setter Property="FontFamily"
                Value="{DynamicResource DefaultFontFamily}" />
        <Setter Property="FontSize"
                Value="{DynamicResource DefaultFontSize}" />
        <Setter Property="Foreground"
                Value="{DynamicResource DefaultFontBrush}" />
        <Setter Property="SnapsToDevicePixels"
                Value="True" />
        <Setter Property="Fluent:FrameworkHelper.UseLayoutRounding"
                Value="True" />
        <Setter Property="Template"
                Value="{StaticResource MenuItemTemplate}" />
        <Style.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Fluent:MenuItem.IsSplited"
                               Value="True" />
                    <Condition Property="HasItems"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Template"
                        Value="{StaticResource SplitedMenuItemTemplate}" />
            </MultiTrigger>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Fluent:MenuItem.IsSplited"
                               Value="False" />
                    <Condition Property="HasItems"
                               Value="True" />
                </MultiTrigger.Conditions>
                <Setter Property="Template"
                        Value="{StaticResource HeaderMenuItemTemplate}" />
            </MultiTrigger>
        </Style.Triggers>
    </Style>
    <Style TargetType="{x:Type MenuItem}"
           BasedOn="{StaticResource MenuItemStyle}" />
    <Style TargetType="{x:Type Fluent:MenuItem}"
           BasedOn="{StaticResource {x:Type MenuItem}}" />
</ResourceDictionary>